package com.jfm.jfmc.core.entity.vo;

import cn.hutool.core.lang.Dict;
import lombok.Data;

import java.util.List;

/**
 * @author DYang
 * @since 2024-11-02 14:40
 */
@Data
public class MibEntity {

    /**
     * 标识
     */
    private String code;
    /**
     * 名称
     */
    private String name;
    /**
     * 适用操作系统
     */
    private String[] os;
    /**
     * snmp oid
     */
    private List<SnmpOid> snmpOids;

    @Data
    public static class SnmpOid{

        /**
         * 标识
         */
        private String code;
        /**
         * OID
         */
        private String oid;
        /**
         * 数据类型
         */
        private String type;
        /**
         * 单位
         */
        private String unit;
        /**
         * 描述
         */
        private String description;
        /**
         * 标签类别
         */
        private String category;
    }

    /**
     * 从配置文件中读取配置信息
     * @param dict
     * @return
     */
    public static MibEntity buildMibEntity(Dict dict) {
        if (dict == null) return null;
        return dict.toBean(MibEntity.class);
    }

}
